package city.spring.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * 实体类：菜单信息
 *
 * @author 侯坤林
 * @date 2020-04-12 15:33:27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("menu")
public class MenuEntity extends BaseRolePermissionEntity implements Serializable {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 父级ID
     */
    private String pid;

    /**
     * 菜单标题
     */
    private String title;

    /**
     * 请求路径
     */
    private String path;

    /**
     * 重定向地址
     */
    private String redirect;

    /**
     * 菜单所属网站：1机构养老、2医护站
     */
    private Integer site;

    /**
     * 类型：1目录、2菜单、3按钮
     */
    private Integer type;

    /**
     * 组件名称（全局唯一）
     */
    private String componentName;

    /**
     * 组件文件路径、布局名称
     */
    private String componentPath;

    /**
     * 图标信息
     */
    private String icon;

    /**
     * 是否显示菜单
     */
    private Boolean isShow;

    /**
     * 是否显示菜单
     */
    private Boolean isShowChildren;

    /**
     * 是否保存生存周期
     */
    private Boolean isKeepAlive;

    /**
     * 排序
     */
    private Integer sorted;

    @TableField(exist = false)
    private List<MenuEntity> children;

}